# coding:utf-8
"""
【需求】
现在有一个csv文件存储了一些学生信息，文件格式为学号,姓名,年龄,班级,性别,籍贯，
假设该文件的行数为20万行，
假设读取到的文件内容已经从csv文件读取到students_text字符串中, 现在需要设计一个查询系统，
基于学号来查询学生详情信息，并提供给web接口调用，调用频率约200s。调用方式如下，
请使用面向对象的方式选择合适的数据类型完成Students类的编写。
students_text =
1,刘明,12,6-1,1,湖南
2,刘明,12,6-1,1,湖南
3,刘说,11,6-1,1,湖南
4,达尔文,34,6-1,1,湖南
5,唐莫,17,6-1,1,湖南
if __name__ == '__main__'
  # 设计一个Students类存储20万条学生信息，并对外提供search方法来根据student_id快速检索到指定学生信息
print(Students().search(student_id))
"""

import csv


class Students:
    def __init__(self):
        pass

    def read_csv(self):
        f = open("student_info.csv", 'r', encoding='gbk')
        reader = csv.reader(f)
        result = list(reader)
        return result

    def input_num(self):
        num = input('请输入学生id：')
        return num

    def create_data(self):
        student_dict = {}
        data = self.read_csv()
        for i in range(0, len(data)):
            key = data[i][0]
            values = data[i]
            student_dict[key] = values

        # print(student_dict)
        return student_dict

    def search(self, stu_id):
        data = self.create_data()
        if stu_id in data:
            print(data[stu_id])


if __name__ == '__main__':
    index = Students()
    stu_id = index.input_num()
    index.search(stu_id)
